﻿/// <summary>
/// Script de controlador del layaut del site.
/// </summary>
/// <remarks>
/// Creacion: 	GMD(EMP) 24/03/2015
/// </remarks>
ns('Pe.Petecos.Comercial.Presentacion.General.Comun.BusquedaArticuloProveedor');
Pe.Petecos.Comercial.Presentacion.General.Comun.BusquedaArticuloProveedor.Controller = function (opts) {
    var base = this;
    base.Ini = function () {
        'use strict'
        base.Event.AgregarSuccess = (opts.AgregarSuccess != null && opts.AgregarSuccess) ? opts.AgregarSuccess : null;
        base.Control.BtnBuscar().click(base.Event.BtnBuscarClick);
        base.Control.BtnAgregar().click(base.Event.BtnAgregarClick);
        base.Function.CrearGrid();

    };

    base.Control = {
        DlgForm: new Pe.GMD.UI.Web.Components.Dialog({
            title: 'Busqueda de Articulos',
            minHeight: '550px'
            
        }),
        Mensaje: new Pe.GMD.UI.Web.Components.Message(),
        TxtNombre: function () { return $('#txtBusquedaArticuloProveedorNombre'); },
        BtnBuscar: function () { return $('#btnBusquedaArticuloProveedorBuscar'); },
        BtnAgregar: function () { return $('#btnBusquedaArticuloProveedorAgregar'); },

        GrdResultado: null
    };

    base.Event = {
        BtnBuscarClick: function () {
            'use strict'
            var filtro = {
                NombreArticulo: base.Control.TxtNombre().val()
            };

            base.Control.GrdResultado.Load(filtro);
        },
        BtnAgregarClick: function () {
            'use strict'
            var seleccionados = base.Control.GrdResultado.GetSelectedData();
            if (seleccionados.length > 0) {
                base.Event.AgregarSuccess(seleccionados);
                base.Control.DlgForm.close();
            } else {
                base.Control.Mensaje.Warning({message : 'Debe seleccionar el menos un registro'});
            }

        }
    };

    base.Ajax = {
        
        
    };

    base.Function = {
        CrearGrid: function () {
            var columns = new Array();

            columns.push({ data: 'CodigoArticuloProveedor', title: 'Codigo' });
            columns.push({ data: 'NombreArticulo', title: 'Producto' });
            columns.push({ data: 'NombreProveedor', title: 'Proveedor' });
            columns.push({ data: 'PrecioUnitario', title: 'Precio Sin IGV' });

            base.Control.GrdResultado = new Pe.GMD.UI.Web.Components.Grid({
                renderTo: 'divGrdBusquedaArticuloProveedor',
                lengthMenu : [[10], [10]],
                hasSelectionRows: true,
                columns: columns,
                columnDefs: [{ sWidth: '60px', aTargets: [1] }],
                proxy: {
                    url: Pe.Petecos.Comercial.Presentacion.General.Comun.Actions.BuscarArticuloProveedor,
                    source: 'Result'
                }
            });

        },
    };

    base.Show = function () {

        base.Control.DlgForm.getAjaxContent(
                {
                    action: Pe.Petecos.Comercial.Presentacion.General.Comun.Actions.BusquedaArticuloProveedor,
                    onSuccess: function () {
                        base.Ini();
                    }
                });
    };
};